package social_network.dao;

import java.util.List;

import social_network.entities.Administrator;
import social_network.exceptions.NotExistsParameterException;
import social_network.exceptions.NotUniqueParameterException;

/**
 * @author Maksym Zabrodskyi
 */
public interface AdministratorDao {
	void addAdministrator(Administrator administrator)
			throws NotUniqueParameterException;

	Administrator selectAdministratorByID(int id);

	Administrator selectAdministratorByEmail(String email);

	Administrator selectAdministratorByName(String name, String surname);

	void deleteAdministratorByID(int id) throws NotExistsParameterException;

	void updateAdministratorInfo(Integer id, String name, String surname,
			String email) throws NotExistsParameterException;

	void updatePasswordByID(Integer id, String password)
			throws NotExistsParameterException;

	void updatePasswordByEmail(String email, String password)
			throws NotExistsParameterException;

	List<Administrator> getAdministrators();
}
